package com.meilai.project.vo.business.contract;

import com.meilai.project.dto.business.contract.ProxyMediaDetailReq;
import com.meilai.project.entity.business.contract.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * @author xchen
 * @since 2022-03-02
 */
@Data
@ApiModel
public class ContractApplyVO extends ContractApply {

    @ApiModelProperty("子（孙）合同数量")
    private Integer child_contract_count;

    @ApiModelProperty("补充协议数量")
    private Integer amend_count;

    @ApiModelProperty("客户名称")
    private String customerName;

    @ApiModelProperty("客户名称")
    private String customer_name;

    @ApiModelProperty("最新合同id")
    private Long last_contract_id;

    @ApiModelProperty("补充合同的审核状态")
    private Integer last_contract_follow_status;

    @ApiModelProperty("维护人id")
    private Long maintenance_staff_id;

    @ApiModelProperty("当前人维护")
    private Boolean cur_user_maintenance = false;

    @ApiModelProperty("附件列表")
    private List<ContractAttachment> attachmentList;

    @ApiModelProperty("代理情况明细")
    private List<ProxyMediaDetailReq> proxyMediaDetailList;

    @ApiModelProperty("自身媒体资源明细")
    private List<ContractMediaDetail> mediaDetailList;

    @ApiModelProperty("付款明细")
    private List<ContractPayDetail> payDetailList;

    @ApiModelProperty("是否可以审批")
    private boolean can_check = false;

    @ApiModelProperty("是否是更新版本之前的数据")
    private Boolean old_data = false;

    @ApiModelProperty("自有资源换画价格数据")
    private List<ContractMediaReplacePrice> contractMediaReplacePriceList;

    @ApiModelProperty("代理资源换画价格数据")
    private List<ContractProxyMediaReplacePrice> contractProxyMediaReplacePriceList;

    @ApiModelProperty("合同对应的媒体价格数据")
    private List<ContractMediaPrice> contractMediaPriceList;

    @ApiModelProperty("合同对应的代理媒体价格数据")
    private List<ContractMediaPrice> contractMediaPriceProxyList;

    @ApiModelProperty("自有资源")
    private String media_type_names = "";

    @ApiModelProperty("代理资源")
    private String proxy_media_type_names = "";

    @ApiModelProperty("自有资源类型及数量")
    private List<ContractMediaCountDTO> mediaCountList = new ArrayList<>();

    @ApiModelProperty("代理资源类型及数量")
    private List<ContractMediaCountDTO> proxyMediaCountList = new ArrayList<>();

    @ApiModelProperty("累计执行金额")
    private BigDecimal totalExecutedAmount;

    @ApiModelProperty("累计自营执行金额")
    private BigDecimal totalSelfExecutedAmount;

    @ApiModelProperty("累计代理执行金额")
    private BigDecimal totalProxyExecutedAmount;

}
